import Vue from 'vue'
import Vuex from 'vuex'

import mutations from './mutations'
import actions from './actions'
import getters from './getters'

// 1.安装插件
Vue.use(Vuex)

// 2.创建Store对象
const state = {
  cartList: []
}

const store = new Vuex.Store({
  state,
  mutations,
  // mutations: {
  //   //mutations唯一的目的就是修改state中状态
  //   //mutations中的每个方法尽可能完成的事件比较单一一点
  //   // addCart(state, payload) {
  //   //   // payload新添加的商品
  //   //   // let oldProduct = null
  //   //   // for(let item of state.cartList) {
  //   //   //   if(item.iid === payload.iid) {
  //   //   //     oldProduct = item
  //   //   //   }
  //   //   // }
  //   //   // let product = state.cartList.find(function (item) {
  //   //   //   return item.iid === payload.iid
  //   //   // })
  //   //   // 1.查找之前数组中是否有该商品
  //   //   let oldProduct = state.cartList.find(item => item.iid === payload.iid)
  //   //   // 2.判断oldProduct
  //   //   if(oldProduct) {
  //   //     oldProduct.count += 1
  //   //     console.log('oldProduct.count', oldProduct.count)
  //   //   } else {
  //   //     payload.count = 1
  //   //     state.cartList.push(payload)
  //   //     console.log('state.cartList', state.cartList)
  //   //   }
  //   // }
  //   // addCounter(state,payload) {
  //   //   payload.count++
  //   // },
  //   // addToCart(state, payload) {
  //   //   state.cartList.push(payload)
  //   // }
  // },
  actions,
  // actions: {
  //   addCart(context, payload) {
  //     console.log('payload', payload)
  //     let oldProduct = context.state.cartList.find(item => item.iid === payload.iid)
  //     // 2.判断oldProduct
  //     if(oldProduct) {
  //       // oldProduct.count += 1
  //       context.commit('addCounter', oldProduct)
  //     } else {
  //       payload.count = 1
  //       // context.state.cartList.push(payload)
  //       context.commit('addToCart', payload)
  //     }
  //   }
  // }
  getters
})

// 3.挂载Vue实例上
export default store
